Generating signals for transmission of information

ABSTRACT

A method for generating a signal is presented. The method includes selecting a first set of carrier frequencies that are integral multiples of a first frequency interval, and selecting a second set of carrier frequencies that are integral multiples of a second frequency interval. The second frequency interval is an integral multiple of the first frequency interval and the second set is a subset of the first set. The method includes, for each of one or more signal carrier frequencies in the second set, selecting a plurality of associated carrier frequencies in the first set including a peak carrier frequency having substantially the same value as the signal carrier frequency, and modulating waveform frequency components at each of the selected plurality of associated carrier frequencies according to the same data value.

TECHNICAL FIELD

This invention relates to generating signals for transmission of information.

BACKGROUND

Orthogonal Frequency Division Multiplexing (OFDM) is a spread spectrum technology in which the available bandwidth is subdivided into a number of channels or carriers whose spectra are orthogonal to each other. Each carrier has a well defined peak frequency. Data are transmitted in the form of symbols that have a predetermined duration and encompass some number of carrier frequencies. The data transmitted on these carriers can be modulated in amplitude and/or phase, using modulation schemes such as Binary Phase Shift Key (BPSK), Quadrature Phase Shift Key (QPSK), or m-bit Quadrature Amplitude Modulation (m-QAM). In some cases, the spectrum of transmitted symbols is adapted to regulatory requirements using spectral filtering (e.g., a HAM radio band notch filter, or an out of band roll-off filter).

SUMMARY

In a first aspect, the invention features a method for generating a signal. The method includes selecting a first set of carrier frequencies that are integral multiples of a first frequency interval, and selecting a second set of carrier frequencies that are integral multiples of a second frequency interval. The second frequency interval is an integral multiple of the first frequency interval and the second set is a subset of the first set. The method includes, for each of one or more signal carrier frequencies in the second set, selecting a plurality of associated carrier frequencies in the first set including a peak carrier frequency having substantially the same value as the signal carrier frequency, and modulating waveform frequency components at each of the selected plurality of associated carrier frequencies according to the same data value.

Preferred implementations of this aspect of the invention may incorporate one or more of the following:

The waveform frequency components include frequency samples of a Fourier transform of an orthogonal frequency division multiplexing carrier waveform.

The method may include generating the signal based on an inverse Fourier transform of the modulated waveform frequency components.

The inverse Fourier transform includes a discrete inverse Fourier transform.

Selecting the plurality of associated carrier frequencies in the first set includes selecting carrier frequencies within a predetermined distance from the peak carrier frequency, where the number of carrier frequencies within the predetermined distance is fewer than the number of the waveform frequency components used in the inverse Fourier transform and large enough to prevent distortion in a corresponding carrier waveform from reducing a signal-to-noise ratio of the signal below a predetermined threshold, where the distortion is caused by deviation of the corresponding carrier waveform from a sinusoid.

The number of carrier frequencies within the predetermined distance is small enough to reduce the amount of memory needed to store values used in the inverse Fourier transform below a predetermined threshold.

The method may include tapering the signal with a pulse shaping window.

The method may include adding a cyclic prefix or postfix to the signal.

The method may include tapering the signal with a pulse shaping window.

Front and rear attenuated portions of the pulse shaping window have substantially the same length as the cyclic prefix or postfix.

The method may include attenuating the power spectrum of the signal at least in part by setting amplitudes of selected waveform frequency components to zero in calculating the inverse Fourier transform.

Frequencies of the selected waveform frequency components include at least some frequencies that are in the first set but not in the second set.

Frequencies of the selected waveform frequency components fall within a frequency band determined by transmit spectrum regulatory requirements.

The method may include selecting amplitudes of the waveform frequency components at each of the selected plurality of associated carrier frequencies according to a Fourier transform of a segment of a sinusoid at the peak carrier frequency.

The segment of the sinusoid includes an orthogonal frequency division multiplexing carrier waveform.

The Fourier transform of the segment of the sinusoid is shaped approximately as a discrete-time sinc function.

The method may include, for each of the one or more signal carrier frequencies in the second set, combining respective associated waveform frequency components that have the same frequency.

The data value includes a complex number.

The complex number is mapped to a binary value.

The method may include combining a plurality of symbol waveforms each having a length at least as long as the inverse of the second frequency interval, where the combined length of the symbol waveforms is at least as long as the inverse of the first frequency interval.

Each waveform includes an inverse Fourier transform of a set of modulated waveform frequency components.

In a second aspect, the invention features a method for generating a signal. The method includes selecting a first set of mutually orthogonal carriers, and selecting a second set of mutually orthogonal carriers. The second set is a subset of the first set. The method includes, for each of one or more signal carriers in the second set, selecting a plurality of associated carriers in the first set including a peak carrier having substantially the same frequency as the signal carrier, and modulating each of the selected plurality of associated carriers according to the same data value.

Preferred implementations of this aspect of the invention may incorporate one or more of the following:

The first and second set of mutually orthogonal carriers include orthogonal frequency division multiplexing carriers.

The method may include generating the signal based on an inverse Fourier transform of modulated carrier frequency components.

The method may include adding a cyclic prefix or postfix to the signal.

The method may include tapering the signal with a pulse shaping window.

The method may include attenuating the power spectrum of the signal at least in part by setting amplitudes of selected carrier frequency components to zero in calculating the inverse Fourier transform.

Frequencies of the selected carrier frequency components fall within a frequency band determined by transmit spectrum regulatory requirements.

In a third aspect, the invention features a method for generating a signal. The method includes selecting a set of mutually orthogonal carriers, and generating a sequence of symbols based on discrete Fourier transform frequency components. Each symbol includes a plurality of data values that are each encoded on a respective carrier, and each carrier includes a plurality of frequency components.

Preferred implementations of this aspect of the invention may incorporate one or more of the following:

The mutually orthogonal carriers include orthogonal frequency division multiplexing carriers.

The method may include generating the sequence of symbols based on an inverse discrete Fourier transform of the discrete Fourier transform frequency components.

The method may include adding a cyclic prefix or postfix to the sequence of symbols.

The method may include tapering the sequence of symbols with a pulse shaping window.

The method may include attenuating the power spectrum of the sequence of symbols at least in part by setting amplitudes of selected frequency components to zero in calculating the inverse discrete Fourier transform.

Frequencies of the selected frequency components fall within a frequency band determined by transmit spectrum regulatory requirements.

In a fourth aspect, the invention features a method for generating a signal. The method includes selecting a first set of carriers that are mutually orthogonal over a first symbol time duration, and selecting a second set of carriers that are mutually orthogonal over a second symbol time duration. The first symbol time duration is an integral multiple of the second symbol time duration, and the second set is a subset of the first set. The method includes generating a sequence of symbols, each symbol including a plurality of carriers from the second set, and each carrier in each symbol being generated from an inverse discrete Fourier transform of frequency components corresponding to peak frequencies of carriers from the first set including carriers not in the second set.

Preferred implementations of this aspect of the invention may incorporate one or more of the following:

Each carrier in each symbol is generated from an inverse discrete Fourier transform of frequency components including at least one frequency component corresponding to a peak frequency of a carrier in the second set and a plurality of frequency components corresponding to peak frequencies of carriers in the first set but not in the second set.

The sequence of symbols is generated from an inverse discrete Fourier transform of frequency components representing a sum of a plurality of sets of frequency components for a respective plurality of symbols.

Each set of frequency components includes a phase shift corresponding to a respective time shift within the first symbol time duration.

The sequence of symbols is generated from a sum of a plurality of inverse discrete Fourier transforms of a respective plurality of sets of frequency components for a respective plurality of symbols.

The method may include modulating the frequency components to taper each symbol in the sequence of symbols with a pulse shaping window.

The method may include modulating the frequency components to taper the sequence of symbols with a pulse shaping window that includes front and rear attenuating portions of substantially equal length.

The method may include overlapping a first sequence of symbols with a second of sequence of symbols by the length of the attenuating portions and adding the overlapped portions of the sequences to generate the signal.

In a fifth aspect, the invention features a method for generating a signal. The method includes combining a plurality of symbols to generate a plurality of waveforms. Each waveform includes a plurality of symbols, and each waveform is shaped by a first pulse shaping window that includes front and rear attenuating portions of substantially equal length. The method includes combining the plurality of waveforms including overlapping a first of the waveforms with a second of the waveforms by the length of the attenuating portions and adding the overlapped portions of the waveforms.

Preferred implementations of this aspect of the invention may incorporate one or more of the following:

The overlapped portions of the waveforms represent the same symbol information.

The front and rear attenuating portions of the first pulse shaping window are shaped such that when the overlapped portions of the waveforms are added the symbol information is restored to its form in the unshaped waveforms.

Each symbol includes a plurality of mutually orthogonal carriers.

Each symbol is shaped by a second pulse shaping window.

The method may include generating the signal based on an inverse Fourier transform of frequency components of the symbols, where the frequency components are processed according to a Fourier transform of the second pulse shaping window.

The method may include generating the signal based on an inverse Fourier transform of frequency components of the symbols, wherein the frequency components are processed according to time positions of symbols within a waveform.

Each waveform includes a plurality of symbols overlapped in time by an amount less than or equal to the length of an attenuating portion of the second pulse shaping window.

The method may include generating the signal based on an inverse Fourier transform of frequency components of the symbols, where the frequency components are processed according to a Fourier transform of the second pulse shaping window and time positions of overlapped symbols within a waveform.

The length of the attenuating portions is at least 10% of the length of a symbol.

The first pulse shaping window includes a raised cosine window.

Among the many advantages of the invention (some of which may be achieved only in some of its various aspects and implementations) are the following.

Nodes of a network can support multiple modes of communication having different symbol characteristics. For example, a dual mode system can communicate with a legacy single mode system using one type of symbols and with other dual mode systems using another type of symbols. The dual mode system can generate symbols of different lengths using the same processing module by storing the appropriate data in one or more lookup tables.

In some implementations, in order to reduce computational complexity and overhead, the system computes data in a symbol set by sequentially addressing one carrier at a time, thereby reducing the required computational hardware as compared to a parallel implementation.

In some cases (e.g., for some high-speed embedded applications), the memory resources and/or computational resources can be reduced by using an approximation of a carrier by reducing the representative spectral data to only include a peak carrier frequency, plus some number of carrier frequencies on either side of the peak.

Other features and advantages of the invention will be found in the detailed description, drawings, and claims.

DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a communication system.

FIGS. 2A-2F, 3A-3F, 4A-4F, 5A-5F, and 6A-6F are time-domain and frequency-domain plots of OFDM symbols.

FIG. 7A is a diagram representing storage locations of carrier data values.

FIG. 7B is a schematic diagram of circuitry for combining carrier data values.

FIG. 8 is a schematic diagram of a frequency component computational module.

FIG. 9A is diagram of a symbol subset waveform.

FIG. 9B is a diagram illustrating reconstruction of adjacent symbol subset waveforms.

FIG. 10 is a flowchart of an exemplary process for generating a signal.

DETAILED DESCRIPTION

There are a great many possible implementations of the invention, too many to describe herein. Some possible implementations that are presently preferred are described below. It cannot be emphasized too strongly, however, that these are descriptions of implementations of the invention, and not descriptions of the invention, which is not limited to the detailed implementations described in this section but is described in broader terms in the claims.

System Overview

In OFDM transmission, data are transmitted in the form of OFDM “symbols.” Each symbol has a predetermined time duration or “symbol time” T_(s). Each symbol is generated from a superposition of N sinusoidal carrier waveforms that are orthogonal to each other and form the OFDM “carriers.” Each carrier has a peak frequency f_(i) and a phase Φ_(i) measured from the beginning of the symbol. For each of these mutually orthogonal carriers, a whole number of periods of the sinusoidal waveform is contained within the symbol time T_(s). Equivalently, each carrier frequency is an integral multiple of a frequency interval Δf=1/T_(s). The phases Φ_(i) and amplitudes A_(i) of the carrier waveforms can be independently selected (according to an appropriate modulation scheme) without affecting the orthogonality of the resulting modulated waveforms. The carriers occupy a frequency range between frequencies f_(i) and f_(N) referred to as the OFDM bandwidth.

Referring to FIG. 1, a communication system 100 includes a transmitter 102 for transmitting a signal (e.g., a sequence of OFDM symbols) over a communication medium 104 to a receiver 106. The transmitter 102 and receiver 106 can be incorporated into nodes of a communication network (e.g., as part of a transceiver) in which each node transmits and receives signals over the shared communication medium 104. For example, the communication medium 104 can include a power line medium that uses existing AC wiring in a house to exchange information between nodes that interface with AC outlets. Due to their being designed for much lower frequency transmissions, AC wiring exhibits varying channel characteristics at the higher frequencies used for data transmission (e.g., depending on the wiring used and the actual layout). The use of OFDM signals can improve reliability of communication in such cases due to, for example, their resilience to narrow band interference, and their robustness to impulsive noise.

The communication system 100 is capable of supporting multiple modes that have different physical (PHY) layer signaling characteristics. Such multiple mode operation is useful, for example, to enable coexistence of standard devices and legacy devices in the same network. The legacy devices may communicate using signals having a first set of characteristics (called “mode A”). The upgraded standard devices may communicate using signals having a second set of characteristics (called “mode B”). Enabling the standard devices to communicate using either mode A or mode B signaling facilitates the coexistence of the standard and legacy devices. Though transmitter 102 and receiver 106 are illustrated and described as supporting two modes, any number of modes can be supported.

At the transmitter 102, modules implementing the PHY layer receive an input bit stream from a medium access control (MAC) layer. The bit stream is fed into either an encoder module 120A or an encoder module 120B to perform the appropriate processing such as scrambling, error correction coding and interleaving according to the mode, A or B, respectively.

The encoded bit stream is fed into a mapping module 122 that takes groups of data bits (e.g., 1, 2, 3, 4, 6, 8, or 10 bits), depending on the constellation used for the current symbol (e.g., a BPSK, QPSK, 8-QAM, 16-QAM constellation), and maps the data value represented by those bits onto the corresponding amplitudes of in-phase (I) and quadrature-phase (Q) components of a carrier waveform of the current symbol. This results in each data value being associated with a corresponding complex number C_(i)=A_(i) exp(jΦ_(i)) whose real part corresponds to the I component and whose imaginary part corresponds to the Q component of a carrier with peak frequency f_(i). Alternatively, any appropriate modulation scheme that associates data values to modulated carrier waveforms can be used.

The mapping module 122 also determines which of the carrier frequencies f₁, . . . , f_(N) within the OFDM bandwidth are used by the system 100 to transmit information. For example, some carriers that are experiencing fades can be avoided, and no information is transmitted on those carriers. Instead, the mapping module 122 uses coherent BPSK modulated with a binary value from the Pseudo Noise (PN) sequence for that carrier. For some carriers (e.g., a carrier i=10) that correspond to restricted bands (e.g., an amateur radio band) no energy is transmitted on those carriers (e.g., A₁₀=0).

An inverse discrete Fourier transform (IDFT) module 124 performs the modulation of the resulting set of N complex numbers (some of which may be zero for unused carriers) determined by the mapping module 122 onto N orthogonal carrier waveforms having peak frequencies f₁, . . . , f_(N). The modulated carriers are combined by IDFT module 124 to form a discrete time symbol waveform S(n) (for a sampling rate f_(R)), which can be written as

$\begin{matrix} {{S(n)} = {\sum\limits_{i = 1}^{N}\;{A_{i}{\exp\left\lbrack {j\left( {{2\pi\;{{in}/N}} + \Phi_{i}} \right)} \right\rbrack}}}} & {{Eq}.\mspace{14mu}(1)} \end{matrix}$

where the time index n goes from 1 to N, A_(i) is the amplitude and Φ_(i) is the phase of the carrier with peak frequency f_(i)=(i/N)f_(R), and j=√−1. In some implementations, the discrete Fourier transform corresponds to a fast Fourier transform (FFT) in which N is a power of 2.

A post-processing module 126 combines a sequence of consecutive (potentially overlapping) symbols into a “symbol set” that can be transmitted as a continuous block over the communication medium 104. The post-processing module 126 prepends a preamble to the symbol set that can be used for automatic gain control (AGC) and symbol timing synchronization. To mitigate intersymbol and intercarrier interference (e.g., due to imperfections in the system 100 and/or the communication medium 104) the post-processing module 126 can extend each symbol with a cyclic prefix that is a copy of the last part of the symbol. The post-processing module 126 can also perform other functions such as applying a pulse shaping window to subsets of symbols within the symbol set (e.g., using a raised cosine window or other type of pulse shaping window) and overlapping the symbol subsets, as described in more detail below.

An Analog Front End (AFE) module 128 couples an analog signal containing a continuous-time (e.g., low-pass filtered) version of the symbol set to the communication medium 104. The effect of the transmission of the continuous-time version of the waveform S(t) over the communication medium 104 can be represented by convolution with a function g(τ;t) representing an impulse response of transmission over the communication medium. The communication medium 104 may add noise n(t), which may be random noise and/or narrowband noise emitted by a jammer.

At the receiver 106, modules implementing the PHY layer receive a signal from the communication medium 104 and generate a bit stream for the MAC layer according to the mode (A or B). An AFE module 130 operates in conjunction with an Automatic Gain Control (AGC) module 132 and a time synchronization module 134 to feed separate data paths for mode A and mode B. After synchronizing and amplifying a received symbol set using its preamble, the receiver 106 determines which mode the symbol set corresponds to by demodulating and decoding an initial portion of the symbol set indicating mode A or mode B.

If mode A is detected, the receiver 106 feeds the sampled discrete-time symbols into DFT module 136A to extract the sequence of N complex numbers representing the encoded data values (by performing an N-point DFT). Demodulator/Decoder module 138A maps the complex numbers onto the corresponding bit sequences and performs the appropriate decoding of the bits (including deinterleaving and descrambling). If mode B is detected, the receiver 106 feeds the sampled discrete-time symbols into DFT module 136B and Demodulator/Decoder module 138B. The sampling rate may be different for mode A and mode B.

Any of the modules of the communication system 100 including modules in the transmitter 102 or receiver 106 can be implemented in hardware, software, or a combination of hardware and software.

Multiple Mode Support

Any of a variety of techniques can be used to facilitate multiple mode support of the transmitter 102 and the receiver 106, depending on the differences in symbol characteristics among the modes. To illustrate some advantages of some of these techniques, we first consider an example in which a transmitter or receiver uses only one of mode A or mode B. For example, in one implementation, mode A corresponds to a 256-point IDFT/DFT at a 50 MHz sample rate to generate and receive mode A symbols having an unextended symbol time of 5.12 μs (256 samples spaced by 20 ns), and mode B corresponds to 3072-point IDFT/DFT with a 75 MHz sample rate to generate and receive mode B symbols having an unextended symbol time of 40.96 μs (3072 samples spaced by 13.3 ns). Since mode B has a larger symbol time than mode A, the carrier frequency spacing of mode B can be denser than the carrier frequency spacing of mode A. Furthermore, mode B uses a 5 μs raised cosine pulse shaping window at the beginning and end of each symbol, while mode A uses a 0.16 μs raised cosine pulse shaping window at the beginning and end of each symbol. These pulse shaping windows help to mitigate the spectral effects of discontinuities between successive symbols.

In addition to these differences, there are other system performance differences between the modes. In mode A, a transmitter uses additional spectral filtering of its transmit signal in order to meet a particular set of transmit spectrum requirements (e.g., HAM band notches and out of band roll-off). The filters used for mode A can be complex and costly, and add significant distortion to the signal (some measure of distortion compensation is attained by appropriately pre-distorting the IDFT values).

In mode B, with its significantly longer symbol time and its extended raised cosine pulse shaping, the transmit spectrum can be shaped to meet the spectral transmit requirements without necessarily requiring the use of such filters. For example, any frequencies which are zeroed in the IDFT will be highly attenuated in the transmitted power spectrum. This allows the transmit spectrum to be easily adapted to different regulatory requirements.

Because of these advantages of the mode B signal characteristics, it is desirable to implement a dual mode system that can generate mode A compatible symbols (i.e., symbols that appear to a receiver that they were generated by a mode A transmitter) using the mode B IDFT and extended raised cosine pulse shaping window. A technique for generating dual mode symbols is described in the following simplified example.

Simplified Dual Mode Example

The length of the mode A and mode B symbols described above differ by a factor of 8. In this simplified example, the length of mode A and mode B symbols differ by a factor of 2.

Referring to FIGS. 2A-2F, an exemplary mode B OFDM symbol (FIG. 2A) has a symbol time T_(s)=T and is composed of a first set of six carriers having peak frequencies f₁, . . . , f₆ that are integral multiples of the frequency interval Δf=1/T. In this case, the carriers are evenly spaced f₁=4Δf, f₂=5Δf, . . . , f₆=9Δf and are combined with equal amplitudes and phases (e.g., all C_(i)=1). The positive-frequency portion of the spectrum of the symbol in FIG. 2A is shown in FIG. 2B. FIGS. 2C and 2E show the first two carrier waveforms at frequencies f₁ and f₂, respectively. FIGS. 2D and 2F show the corresponding positive-frequency spectra of these first two carrier waveforms.

To generate the symbol in FIG. 2A, an IDFT module effectively uses discrete-frequency samples of the spectrum of each carrier waveform as shown in FIGS. 3D and 3F. (These frequency samples represent DFT frequency components, and as such, extend over an entire period of a periodic spectrum that results from the time sampling inherent in a DFT calculation.) In this case the only nonzero frequency samples for each carrier are at the peak of the spectrum since the other samples fall on zeros of the carrier spectrum. The effect of this “frequency sampling” is to make the corresponding the time-domain carrier waveforms periodic, as shown in FIGS. 3C and 3E. The generated symbol is formed from one period of the resulting periodic waveform shown in FIG. 3A. FIG. 3B shows the corresponding frequency components recovered after performing a mode B DFT on samples of the transmitted symbol.

Referring to FIGS. 4A-4F, an exemplary mode A OFDM symbol (FIG. 4A) has a symbol time T_(s)=T/2 and is composed of a second set of three carriers having peak frequencies f₁, . . . , f₃ that are integral multiples of the frequency interval Δf=2/T. In this case, the carriers are also evenly spaced f₁=4Δf, f₂=6Δf, f₃=8Δf, and are combined with equal amplitudes and phases (e.g., all C_(i)=1). Also, the second set of carriers is a subset of the first set of carriers. The positive-frequency portion of the spectrum of the symbol in FIG. 4A is shown in FIG. 4B. FIGS. 4C and 4E show the first two carrier waveforms at frequencies f₁ and f₂, respectively. FIGS. 4D and 4F show the corresponding positive-frequency spectra of these first two carrier waveforms.

To generate the symbol in FIG. 4A, an IDFT module still uses discrete-frequency samples of the spectrum of each carrier waveform as shown in FIGS. 5D and 5F, but in this case the mode A samples are spaced further apart than the mode B samples by a factor of 2 (since the symbol time of the mode A symbols is shorter than the symbol time of the mode B symbols by a factor of 2). However, there is still only one nonzero frequency sample for each carrier at the peak of its spectrum since the other samples fall on zeros of the carrier spectrum. This frequency sampling results in the periodic carrier waveforms shown in FIGS. 5C and 5E. The generated symbol corresponds to one period of the resulting periodic waveform shown in FIG. 5A. FIG. 5B shows the corresponding frequency components recovered after performing a mode A DFT on samples of the transmitted symbol.

FIGS. 6A-6F show exemplary waveforms and frequency sampled spectra for a system supporting dual mode symbol generation. The system can generate a mode B OFDM symbol as described above with reference to FIGS. 2A-2F and FIGS. 3A-3F. The system can also generate a mode A compatible OFDM symbol (FIG. 6A) that contains a shorter mode A symbol with length T/2 within the longer mode B symbol time T_(s)=T. This mode A compatible symbol is composed of the second set of three carriers having peak frequencies f₁=4Δf, f₂=6Δf, f₃=8Δf that are integral multiples of the frequency interval Δf=2/T.

To generate the mode A compatible symbol corresponding to one period of the periodic waveform shown in FIG. 6A, the IDFT module 124 uses discrete-frequency samples of the spectrum of each carrier waveform as shown in FIGS. 6D and 6F at the denser mode B frequency spacing. This frequency sampling results in the periodic carrier waveforms shown in FIGS. 6C and 6E. FIG. 6B shows the corresponding frequency components recovered by a receiver expecting a mode A symbol and performing a mode A DFT on samples of the transmitted symbol.

In this case, more than one of the frequency samples of each carrier spectrum is nonzero. In fact, nonzero samples can extend over an entire period of the DFT spectrum. In a practical system it is sufficient to represent only a finite number of samples on either side of the peak since the magnitudes of the samples become smaller away from the peak. This is because the shape of the carrier spectrum is approximately that of a “sinc” function (i.e., sinc(x)=sin(πx)/(πx)). (The illustrated positive-frequency carrier spectrum actually corresponds to the sum of two sinc functions centered at the positive and negative carrier frequency peak values.)

In this dual mode case as in the other cases in this simplified example, the carriers are combined with equal amplitudes and phases (e.g., all C_(i)=1), but in general the amplitudes and phases are modulated according to a respective data value. In this dual mode case, since each mode A carrier corresponds to multiple nonzero frequency samples, each of which is also a mode B carrier frequency, multiple waveform components are modulated according to the same data value, as described in more detail below. In addition to modulating the multiple components according to a data value, the components can be multiplied by a complex phase shift to move the T/2 length symbol to any position within the T length symbol (since a phase shift in the frequency domain corresponds to a time shift in the time domain). Other transformations can be performed on the symbols as well. For example, a pulse shaping window can be applied in the frequency domain by multiplying each component by an appropriate complex number (e.g., a DFT of a discrete time pulse shaping window).

In the DFT and IDFT calculations, the time domain is discrete as well, however, as long as the time sampling rate is large enough (e.g., least twice as large as the largest carrier frequency) the effect on the illustrated time-domain and frequency-domain representations is minimal.

Constructing Symbol Sets

Since the length in time of the mode B symbol is larger than the length in time of a mode A symbol (e.g., by a factor of 8 for the 5.12 μs long mode A symbols and 40.96 μs long mode B symbols described above), multiple mode A symbols can be sent in a time slot used by a mode B symbol. Thus in this example, a symbol set that normally includes 4 mode B symbols can include, for example, 32 mode A symbols.

In one implementation, the system generates a portion of a symbol set including multiple shorter mode A symbols by a process that includes: calculating the appropriate complex number C_(i) for each mode B carrier frequency f_(i) in a set of mode B carriers used to represent a mode A carrier, optionally applying an equivalent frequency domain representation of any symbol transformations being performed (e.g., a Fourier transform of a pulse shaping window if one is being used), and adding the resulting complex numbers from different carriers and/or symbols that use the same mode B carrier frequency index i. These values are calculated and stored for subsequent use in the IDFT module 124. First we describe the generation of the individual mode A symbols, then the generation of the symbol set.

Symbol Generation

In a first implementation, a process for generating a mode A symbol uses a “full spectrum” representation of each mode A carrier using all DFT values (or “frequency samples” corresponding to the more densely spaced mode B carrier frequencies). Data values are then modulated onto each mode A carrier by multiplying its respective DFT values with the appropriate complex number (determined by the data value and the modulation approach). The DFT values that are being modulated are optionally pre-processed based on the frequency domain representation of any pulse shaping and overlapping as described below. The IDFT of the resulting DFT values is calculated. The result of this IDFT is a time domain waveform where each mode A carrier of each mode A symbol of the symbol set is modulated by its respective data value.

For mode B symbols, the system 100 uses mode B carriers that are spaced in frequency at ⅛ the distance of the mode A carriers. Therefore, the number of mode B carriers needed to generate a full spectrum representation of a mode A symbol (assuming 76 mode A carriers are used) is approximately: 76 mode A carriers*8 mode B carriers per mode A carrier=608 mode B carriers. Assuming a symbol set of 5 symbols, the resulting memory requirements would be as follows. Memory Per mode A carrier=608 complex words/carrier Memory Per mode A symbol=608 complex words/carrier*76 mode A carriers=46,208 complex words/symbol Memory Per Symbol Set=46,208 complex words/symbol*5 symbols=231,040 complex words

In some cases (e.g., for some high-speed embedded applications), the memory resources and/or computational resources used in this example make a second implementation discussed below, which greatly reduces the memory and processing resources, more appropriate.

As described above, the largest values of the mode A carrier spectrum are at the peak frequency and at the adjacent and nearby frequencies. Based on this observation, an approximation of a mode A carrier can be obtained by reducing the representative spectral data to only include the peak carrier frequency, plus some number of mode B carrier frequencies on either side of the peak. As would be expected, the more mode B carriers that are used to represent the mode A carrier, the more accurate the representation of the mode A carrier in the mode A symbol. Listed below are two examples which show the tradeoff between DFT data size and waveform distortion.

1) 15 total mode B carriers used to represent each mode A carrier yield a 22 dB signal-to-noise ratio(SNR) at the mode A receiver. This SNR is sufficient for QPSK modulation.

2) 39 total mode B carriers used to represent each mode A carrier yield a 30 dB SNR at the mode A receiver. This SNR is sufficient for 256-QAM modulation.

The resultant memory requirements for each of the above examples are shown below.

1) 15 total mode B carriers used to represent each mode A carrier: Memory Per mode A carrier=15 complex words/carrier Memory Per mode A symbol=15 complex words/carrier*76 mode A carriers=1,140 complex words/symbol Memory Per Symbol Set=1,140 complex words/symbol*5 symbols=5,700 complex words

2) 39 total mode B carriers used to represent each mode A carrier: Memory Per mode A carrier=39 complex words/carrier Memory Per mode A symbol=39 complex words/carrier*76 mode A carriers=2,964 complex words/symbol Memory Per Symbol Set=2,964 complex words/symbol*5 symbols=14,820 complex words

As can be seen from the above examples, using a subset of the mode B carriers to represent each mode A carrier can attain a significant reduction in required memory.

However, if this implementation is to be made practical for embedded real-time applications, not only should the memory resources used be reduced, but so should the computational resources. Explained below is a method for modulating (multiplying) and summing the mode A carrier information in a way that reduces resulting computational resources.

In some implementations, in order to reduce computational complexity and overhead, the system 100 computes the mode B symbol set data by sequentially addressing one mode B carrier at a time, thereby reducing the required computational hardware as compared to a parallel implementation. Since the mode B carriers have a frequency spacing that is ⅛th the pitch of the mode A carriers, if each mode A carrier is to be represented by a spectrum that has 9 or more mode B carriers, then the mode A carrier spectra will overlap in the frequency domain. If the mode A carrier spectra are to be constructed in such a way that their frequency components are addressed (indexed) by the using a corresponding mode B carrier number, then multiple lookup tables (or the equivalent thereof) will be needed in order to distinguish the frequency components that overlap in frequency. In some implementations, the mode B carrier data values stored in the lookup table not only represent the frequency components of a mode A carrier, but also include effects of the shorter mode A pulse shaping window, and a time shift including the option of overlapping a mode A symbol carrier waveform in time with adjacent mode A symbol carriers.

FIG. 7A shows an example in which each mode A carrier is represented by 15 total mode B carriers. A storage module accessible by the IDFT module 124 stores the lookup tables for accessing carrier data values indexed by peak frequency. In this example, frequency-indexed lookup table storage locations are shown with respect to a common frequency axis 700 for a first lookup table 701 of carrier data values stored in a first ROM and a second lookup table 702 of carrier data values stored in a second ROM (e.g., read-only memories (ROMs) addressed by a number representing the mode B peak carrier frequency). These ROMs provide two lookup tables in order to access the overlapping (in frequency) carrier data values for each mode A carrier spectrum. This example shows 4 mode A carriers, with mode B carrier data values for the two mode A carriers 1 and 3 stored in the first ROM, and mode B carrier data values for the two mode A carriers 2 and 4 stored in the second ROM. Other storage arrangements are possible. For example, a single ROM can store both lookup tables in separate address spaces.

Each of these 4 mode A carriers is associated with 15 mode B carriers (including the mode B carrier with the same frequency as the peak and 7 on either side of the peak). These mode B carriers represent the frequency components of a mode A carrier. Each of the corresponding 15 frequency components is multiplied by the same modulating data value. The 7 frequency components of the first mode A carrier that overlap with 7 frequency components of the second mode A carrier are then added, and likewise for the 7 overlapping components of the second and third, and third and fourth mode A carriers.

While it is possible to perform these multiply and add functions in parallel, a great deal of computational hardware would be required to realize such an implementation. In order to reduce the hardware requirements, some implementations perform these operations one mode B carrier at a time, thus reducing the required computational hardware.

For example, referring to FIG. 7B, circuitry 710 indexes frequency components in each of the respective ROMs (indexed by mode B carrier number) and multiplies each frequency component by its corresponding modulating data value, and then adds the resulting modulated values from the ROMs that have the same mode B carrier number. This example uses 15 mode B carriers to represent each mode A carrier and therefore uses 2 separate ROMs to store overlapping spectral data. If additional mode B carriers were used to represent each mode A carrier, additional ROMs would be used to store the overlapping frequency components. The number of ROMs (or lookup tables) used can be determined by the following formula. Number of Tables=floor((Number of mode B carriers−1)/8)+1 where, “Number of mode B carriers” is and odd number.

For this example of 15 mode B carriers: Number of Tables=floor((15−1)/8)+1=2

For the case of 39 mode B carriers: Number of Tables=floor((39−1)/8)+1=5 Symbol Set Generation

A symbol set that is to be transmitted within a signal over the communication medium 104 may be constructed from shorter mode A symbols, longer mode B symbols, or a combination of mode A and mode B symbols, as described above. To attain the spectral performance inherent in the longer the longer mode B symbols, multiple (e.g., 4) mode A symbols can first be combined into a “symbol subset”, and then multiple symbol subsets can be combined into a symbol set using the same processes and/or circuitry used to combine mode B symbols into a symbol set. The symbol subsets can also include a symbol fragment to prevent the longer mode B pulse shaping window from distorting the mode A symbols.

After the frequency components at a given mode B carrier index have been summed over different carriers in a mode A symbol (as shown in FIG. 7B), the frequency components at a given mode B carrier index should be summed over different mode A symbols in a symbol subset. FIG. 8 shows an exemplary frequency component computational module 800 included in the IDFT module 124 to perform these summations. The module 800 includes 4 adders and sequentially steps through the mode B carrier numbers. The resulting symbol subset includes 4 complete mode A symbols and a 5^(th) symbol fragment that represents the portion of a symbol from a previous symbol subset that is attenuated by a pulse shaping window, as described in more detail below.

After the system 100 has computed and stored the final frequency component (DFT) value, the IDFT module 124 uses these values to generate a symbol subset waveform shown in FIG. 9A. This symbol subset generation process is repeated as needed. If the number of mode A symbols to be transmitted in a symbol set is not a multiple of 4, the final symbol subset includes only the necessary number of symbols to complete a symbol set. The symbol subset is shaped based on the position of its last symbol, using the terminal symbol pulse shaping technique described below.

Alternative implementations are possible. For example, in some implementations, the IDFT module 124 generates a waveform for each symbol and adds the respective waveforms to yield a symbol subset.

Pulse Shaping

A symbol set can include two types of pulse shaping: the shorter mode A pulse shaping window applied to individual mode A symbols within a symbol subset, and the longer mode B pulse shaping window applied to both the mode B symbols and the symbol subsets within the symbol set. As described above, the mode A windowing function can be applied to each mode A symbol in the frequency domain.

The longer mode B pulse shaping window is used in some implementations to achieve a desired spectral performance. However, when the pulse shaping window is applied to the ends of the mode A symbol subset, the mode A symbols that have been shaped may be so highly shaped that they are rendered unusable. When a symbol subset is shaped, the first and last samples of length WINDOW_SIZE (typically 384 samples) are attenuated by an appropriate pulse shaping window. If the attenuating portion of the pulse shaping window (of length WINDOW_SIZE) is not negligible compared to the length of a mode A symbol (e.g., 5%, 20%, 50%, or more of a mode A symbol), then this pulse shaping causes significant signal attenuation to the mode A symbol, however, its effects can be compensated for using the following pulse shaping technique.

Referring to FIG. 9A, the first symbol 902 of the symbol subset generated by the IDFT module 124 is a symbol fragment of length WINDOW_SIZE, and its stored DFT values correspond to the last WINDOW_SIZE waveform values of an unmodulated mode A symbol. This symbol fragment 902 is then modulated by the same data used to modulate the last symbol of the previous symbol subset, and is attenuated by the front portion of the pulse shaping window. The last symbol 904 of the symbol subset is attenuated by the rear portion of the pulse shaping window. As with the mode A pulse shaping, this mode B pulse shaping may be applied in the time domain, or alternatively may be applied in the frequency domain.

When symbol subsets are concatenated into a symbol set for transmission, the current symbol subset is overlapped with the previous symbol subset by amount WINDOW_SIZE and the overlapped waveform values are added together. The result is that the attenuated mode A symbols are fully reconstructed between adjacent symbol subsets as shown in FIG. 9B.

At the front of the symbol set, the attenuated mode A symbol fragment carries redundant preamble information. This information is used to reconstruct the pulse shaped portion of the preamble using the overlap method described above. If the last mode A symbol to be transmitted is positioned as the last (i.e., fourth) symbol of the final symbol subset, the final symbol subset waveform is extended with a cyclic postfix of length WINDOW_SIZE, and the rear portion of the windowing function is applied to the postfix, thereby preserving the full amplitude of the last mode A symbol. If the last mode A symbol occurs at any other location in the final symbol set, the attenuation window is applied immediately following the end of the last mode A symbol. Using these methods, the unwanted attenuation effects of the pulse shaping window are removed allowing the transmission of contiguous and spectrally correct mode A compatible symbols.

FIG. 10 shows a flowchart of an exemplary process 1000 for generating a signal. The process 1000 selects (1002) a first set of carrier frequencies that are integral multiples of a first frequency interval. The process 1000 selects (1004) a second set of carrier frequencies that are integral multiples of a second frequency interval, where the second frequency interval is an integral multiple of the first frequency interval and the second set is a subset of the first set. For each of one or more signal carrier frequencies in the second set, the process 1000 selects (1006) a plurality of associated carrier frequencies in the first set including a peak carrier frequency that is substantially the same as the signal carrier frequency, and modulates (1008) waveform frequency components at each of the selected plurality of associated carrier frequencies according to the same data value. The process 1000 generates (1010) the signal based on an inverse Fourier transform of the modulated waveform frequency components. Selecting the plurality of associated carrier frequencies in the first set comprises selecting carrier frequencies within a predetermined distance from the peak carrier frequency, where the number of carrier frequencies within the predetermined distance is fewer than the number of the waveform frequency components used in the inverse Fourier transform and large enough to prevent distortion in a corresponding carrier waveform from reducing a signal-to-noise ratio of the signal below a predetermined threshold, where the distortion is caused by deviation of the corresponding carrier waveform from a sinusoid.

Many other implementations other than those described above are within the invention, which is defined by the following claims. 

1. A method for generating a signal, the method comprising: selecting a first set of carrier frequencies that are integral multiples of a first frequency interval; selecting a second set of carrier frequencies that are integral multiples of a second frequency interval, where the second frequency interval is an integral multiple of the first frequency interval and the second set is a subset of the first set; for each of one or more signal carrier frequencies in the second set, selecting a plurality of associated carrier frequencies in the first set including a peak carrier frequency that is substantially the same as the signal carrier frequency; and modulating waveform frequency components at each of the selected plurality of associated carrier frequencies according to the same data value; and generating the signal based on an inverse Fourier transform of the modulated waveform frequency components; wherein selecting the plurality of associated carrier frequencies in the first set comprises selecting carrier frequencies within a predetermined distance from the peak carrier frequency, where the number of carrier frequencies within the predetermined distance is fewer than the number of the waveform frequency components used in the inverse Fourier transform and large enough to prevent distortion in a corresponding carrier waveform from reducing a signal-to-noise ratio of the signal below a predetermined threshold, where the distortion is caused by deviation of the corresponding carrier waveform from a sinusoid.
 2. The method of claim 1, wherein the waveform frequency components comprise frequency samples of a Fourier transform of an orthogonal frequency division multiplexing carrier waveform.
 3. The method of claim 1, wherein the inverse Fourier transform comprises a discrete inverse Fourier transform.
 4. The method of claim 1, wherein the number of carrier frequencies within the predetermined distance is small enough to reduce the amount of memory needed to store values used in the inverse Fourier transform below a predetermined threshold.
 5. The method of claim 1, further comprising tapering the signal with a pulse shaping window.
 6. The method of claim 1, further comprising adding a cyclic prefix or postfix to the signal.
 7. The method of claim 6, further comprising tapering the signal with a pulse shaping window.
 8. The method of claim 7, wherein front and rear attenuated portions of the pulse shaping window have substantially the same length as the cyclic prefix or postfix.
 9. The method of claim 1, further comprising attenuating the power spectrum of the signal at least in part by setting amplitudes of selected waveform frequency components to zero in calculating the inverse Fourier transform.
 10. The method of claim 9, wherein frequencies of the selected waveform frequency components comprise at least some frequencies that are in the first set but not in the second set.
 11. The method of claim 9, wherein frequencies of the selected waveform frequency components fall within a frequency band determined by transmit spectrum regulatory requirements.
 12. The method of claim 1, further comprising selecting amplitudes of the waveform frequency components at each of the selected plurality of associated carrier frequencies according to a Fourier transform of a segment of a sinusoid at the peak carrier frequency.
 13. The method of claim 12, wherein the segment of the sinusoid comprises an orthogonal frequency division multiplexing carrier waveform.
 14. The method of claim 12, wherein the Fourier transform of the segment of the sinusoid is shaped approximately as a discrete-time sinc function.
 15. The method of claim 1, further comprising, for each of the one or more signal carrier frequencies in the second set, combining respective associated waveform frequency components that have the same frequency.
 16. The method of claim 1, wherein the data value comprises a complex number.
 17. The method of claim 16, wherein the complex number is mapped to a binary value.
 18. The method of claim 1, further comprising combining a plurality of symbol waveforms each having a length at least as long as the inverse of the second frequency interval, where the combined length of the symbol waveforms is at least as long as the inverse of the first frequency interval.
 19. The method of claim 18, wherein each waveform comprises an inverse Fourier transform of a set of modulated waveform frequency components. 